import axios from 'axios' 
import Cookies from 'js-cookie'


var instance = axios.create({
    baseURL:"http://localhost:8000",//该部分写的是我们使用接口的公共代理
    timeout:25000 //请求时间，在超时前，所有请求都会等待 2.5 秒，由于网络原因，我们可以把时间修改的长一点
});

instance.interceptors.request.use(function (config) {
    //请求有cookie 带上cookie
    if(Cookies.get('Authorization') != null){
        config.headers['Authorization'] =  Cookies.get('Authorization')
    }
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

instance.interceptors.response.use(function (response) {
        let {data} = response
        //设置7天的有效期cookies
        if(response.headers.authorization){
            Cookies.set('Authorization',response.headers.authorization,{ expires: 7 })
        }
        return data
    }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });

const post = (url,data,config)=>{
    return new Promise((resolve,reject)=>{
        //这里的instance与实例化axios的变量名一致
        instance.post(url,data,config).then(res=>{
            resolve(res)
        }).catch(err=>{
            reject(err)
        })
    })
}

const get = (url,data)=>{
    return new Promise((resolve,reject)=>{
        //这里的instance与实例化axios的变量名一致
        instance.get(url,{params:data}).then(res=>{
            resolve(res)
        }).catch(err=>{
            reject(err)
        })
    })
}

   
export default {
    get:get,
    post:post
}